package mpbe.estructura.secciones.hormigon_armado.contornos;

/*
 * Este codigo es software libre y se encuentra licenciado 
 * bajo los términos de la Licencia Pública General de GNU versión 3 
 * según se encuentra publicada por la Free Software Foundation.
 * http://www.gnu.org/licenses/gpl.html
 * 
 * Autor: Martin Pablo Bellanca <martin.bellanca@gmail.com>
 * web: http://mpbe.blogspot.com/
 */

import java.util.Vector;

/**
 * @author  mpbe
 */
public class SHTiposDeContornos {
	private String dirPlugins;
	private Vector <SHContornoPorParametros> lista_Contornos;
	
	public SHTiposDeContornos(){
		lista_Contornos = new Vector <SHContornoPorParametros>();
	}
	
	public boolean load_Contornos() {
		// TODO Transformar en plugins
		lista_Contornos.add(new SHContornoNone());
		lista_Contornos.add(new SHContornoRectangular());
		lista_Contornos.add(new SHContornoTe());
		lista_Contornos.add(new SHContornoEle());
		lista_Contornos.add(new SHContornoCircular());
		return true;
	}
	
	public boolean load_Contornos(String ubicacion) {
		dirPlugins = ubicacion;
		return load_Contornos();
	}

	/**
	 * @return
	 * @uml.property  name="dirPlugins"
	 */
	public String getDirPlugins() {
		return dirPlugins;
	}

	/**
	 * @param dirPlugins
	 * @uml.property  name="dirPlugins"
	 */
	public void setDirPlugins(String dirPlugins) {
		this.dirPlugins = dirPlugins;
	}

	public SHContornoPorParametros getTipo(String designacion) {
		SHContornoPorParametros pp;
		for (int ii=0; ii<lista_Contornos.size(); ii++){
			pp = lista_Contornos.get(ii);
			if (pp.designacion.equals(designacion))
				return pp.getNewParametro();
		}
		return null;
	}
	
	public SHContornoPorParametros getTipo(int index) {
		return lista_Contornos.get(index).getNewParametro();
	}
	
	public String getDesignacion(int indexparam) {
		return lista_Contornos.get(indexparam).designacion.toString();
	}
	
	public String[] getDesignaciones() {
		SHContornoPorParametros pp;
		String [] res = new String[lista_Contornos.size()];
		for (int ii=0; ii<lista_Contornos.size(); ii++){
			pp = lista_Contornos.get(ii);
			res[ii] = pp.designacion;
		}
		return res;
	}
	
}
